package negocios.cinemaBeans;

import java.io.Serializable;
import java.sql.Date;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.GregorianCalendar;


public class Exibicao implements Serializable{
	private Filme filme;
	private ArrayList<Ingresso> tabelaIngresso;
	private Calendar horario = Calendar.getInstance();
	
	
	public Exibicao(Filme filme, int hora, int min){
		this.setFilme(filme);
		this.setHorario(hora, min);
		this.setTabelaIngresso();
	}
		
	public Filme getFilme() {
		return filme;
	}

	
	public void setFilme(Filme filme) {
		this.filme = filme;
	}

	
	public Calendar getHorario() {
		return horario;
	}

	
	public void setHorario(int hora, int min) {
		if (hora>=0 && hora<=23 && min>=0 && min<=59){
			this.horario.set(0, 0, 0, hora, min);
		}else{
			//levantar excecao
		}
		
	}
	
	
	public ArrayList getTabelaIngresso(){
		return this.tabelaIngresso;
	}
	
	public int qtdIngressos(Sala sala){
		int contador = 0;
		//Data atual
		Calendar data = new GregorianCalendar();
		
		for (Ingresso ingresso : this.tabelaIngresso){
			if(ingresso.getSala().equals(sala) & ingresso.getData().equals(data)){
				contador++;
			}
		}
		return contador;
	}
	
	
	
	private void setTabelaIngresso(){
		this.tabelaIngresso = new ArrayList<Ingresso>();
	}
	
	public void adicionaIngresso(Ingresso ingresso){
		this.tabelaIngresso.add(ingresso);
	}
	
	
	public String toString() {
		return "Exibicao [filme=" + filme.toString() + " horario:" + horario.get(11)+":"
				+ horario.get(12)+"]";
	}
	

} 
